#!/bin/bash

# This script does nothing in particular
# It somehow manages to include most of Bash's syntax elements :)

# Computes the number 42 using Bash
function compute42() {
	echo $((2 * 3 * (3 + 4)))
}

# Computes the number 42 using a subshell command
function compute42Subshell() {
	echo "$(echo "2*3*(3+4)" | bc)"
}

# Subtract the second parameter from the first and outputs the result
# It can only handle integers
function subtract() {
	local a=${1:?"First param not set"}
	local b=${2:?"Second param not set"}

	echo -n "$((a - b))"
}

echo 'The current working directory is: '" ${PWD}"

echo "100 - 58 = $(subtract 100 58)"

fortyTwo=$(compute42)
echo "$fortyTwo is 42"

fortyTwo=$(compute42Subshell)
echo "${fortyTwo} is 42"

echo "6 * 7 is $fortyTwo"  > log.txt 2>&1

echo `echo This is an echo`

empty=""
[ -z "$empty" ]  && This variable is empty!

cat -  << EOF
	Dear Mr. X,
	this is a message to you.

	With kind regards,
	Mr. Y
EOF
